[INFO] cloning repository https://github.com/ytaras/roguelike_tutorial
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ytaras/roguelike_tutorial" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fytaras%2Froguelike_tutorial", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fytaras%2Froguelike_tutorial'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d61884102ef59bdfc1b0f11dd8d4d0eff1452ca7
[INFO] checking ytaras/roguelike_tutorial against master#158f00a1c5175648af6f6099b075f78d1d014a28 for pr-121251
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fytaras%2Froguelike_tutorial" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/ytaras/roguelike_tutorial on toolchain 158f00a1c5175648af6f6099b075f78d1d014a28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/ytaras/roguelike_tutorial
[INFO] finished tweaking git repo https://github.com/ytaras/roguelike_tutorial
[INFO] tweaked toml for git repo https://github.com/ytaras/roguelike_tutorial written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/ytaras/roguelike_tutorial already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Updating git repository `https://github.com/rjungemann/tcod-rs.git`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded gl v0.6.5
[INFO] [stderr]   Downloaded rand_chacha v0.1.0
[INFO] [stderr]   Downloaded nonzero_signed v1.0.2
[INFO] [stderr]   Downloaded bit-vec v0.5.0
[INFO] [stderr]   Downloaded bitflags v0.1.1
[INFO] [stderr]   Downloaded serde_derive v1.0.80
[INFO] [stderr]   Downloaded pretty_env_logger v0.3.0
[INFO] [stderr]   Downloaded base-x v0.2.3
[INFO] [stderr]   Downloaded cc v1.0.25
[INFO] [stderr]   Downloaded shred-derive v0.5.1
[INFO] [stderr]   Downloaded rusty-fork v0.2.1
[INFO] [stderr]   Downloaded specs-derive v0.4.0
[INFO] [stderr]   Downloaded rand_os v0.1.1
[INFO] [stderr]   Downloaded rand_core v0.3.0
[INFO] [stderr]   Downloaded wayland-commons v0.20.12
[INFO] [stderr]   Downloaded crossbeam-epoch v0.5.2
[INFO] [stderr]   Downloaded chrono v0.4.6
[INFO] [stderr]   Downloaded gl_generator v0.9.0
[INFO] [stderr]   Downloaded crossbeam-utils v0.6.1
[INFO] [stderr]   Downloaded wayland-sys v0.20.12
[INFO] [stderr]   Downloaded libloading v0.5.0
[INFO] [stderr]   Downloaded redox_syscall v0.1.42
[INFO] [stderr]   Downloaded num-derive v0.2.3
[INFO] [stderr]   Downloaded owning_ref v0.3.3
[INFO] [stderr]   Downloaded memmap v0.6.2
[INFO] [stderr]   Downloaded rand_xorshift v0.1.0
[INFO] [stderr]   Downloaded env_logger v0.6.0
[INFO] [stderr]   Downloaded rand v0.6.4
[INFO] [stderr]   Downloaded syn v0.15.22
[INFO] [stderr]   Downloaded proptest v0.9.0
[INFO] [stderr]   Downloaded khronos_api v2.2.0
[INFO] [stderr]   Downloaded khronos_api v3.0.0
[INFO] [stderr]   Downloaded libc v0.2.44
[INFO] [stderr]   Downloaded regex-syntax v0.6.3
[INFO] [stderr]   Downloaded gl_generator v0.6.1
[INFO] [stderr]   Downloaded stdweb v0.4.10
[INFO] [stderr]   Downloaded derivative v1.0.2
[INFO] [stderr]   Downloaded parking_lot_core v0.3.1
[INFO] [stderr]   Downloaded wait-timeout v0.1.5
[INFO] [stderr]   Downloaded image v0.19.0
[INFO] [stderr]   Downloaded autocfg v0.1.1
[INFO] [stderr]   Downloaded crossbeam-channel v0.2.6
[INFO] [stderr]   Downloaded xml-rs v0.7.0
[INFO] [stderr]   Downloaded serde_json v1.0.33
[INFO] [stderr]   Downloaded itertools v0.8.0
[INFO] [stderr]   Downloaded rand v0.5.5
[INFO] [stderr]   Downloaded uni-gl v0.1.0
[INFO] [stderr]   Downloaded byteorder v1.2.7
[INFO] [stderr]   Downloaded termcolor v1.0.4
[INFO] [stderr]   Downloaded gl_generator v0.10.0
[INFO] [stderr]   Downloaded wayland-protocols v0.20.12
[INFO] [stderr]   Downloaded parking_lot_core v0.2.14
[INFO] [stderr]   Downloaded core-foundation v0.6.3
[INFO] [stderr]   Downloaded specs v0.14.3
[INFO] [stderr]   Downloaded winit v0.16.2
[INFO] [stderr]   Downloaded uni-app v0.1.0
[INFO] [stderr]   Downloaded deflate v0.7.19
[INFO] [stderr]   Downloaded wayland-client v0.20.12
[INFO] [stderr]   Downloaded rand v0.4.3
[INFO] [stderr]   Downloaded atom v0.3.5
[INFO] [stderr]   Downloaded cocoa v0.15.0
[INFO] [stderr]   Downloaded shred v0.7.1
[INFO] [stderr]   Downloaded serde v1.0.80
[INFO] [stderr]   Downloaded num-rational v0.1.42
[INFO] [stderr]   Downloaded cgl v0.2.3
[INFO] [stderr]   Downloaded crossbeam-epoch v0.6.1
[INFO] [stderr]   Downloaded mopa v0.2.2
[INFO] [stderr]   Downloaded quote v0.6.10
[INFO] [stderr]   Downloaded downcast-rs v1.0.3
[INFO] [stderr]   Downloaded core-graphics v0.14.0
[INFO] [stderr]   Downloaded parking_lot v0.6.4
[INFO] [stderr]   Downloaded rand_core v0.2.2
[INFO] [stderr]   Downloaded dlib v0.4.1
[INFO] [stderr]   Downloaded tempfile v3.0.4
[INFO] [stderr]   Downloaded glutin v0.17.0
[INFO] [stderr]   Downloaded crossbeam-utils v0.5.0
[INFO] [stderr]   Downloaded smallvec v0.6.6
[INFO] [stderr]   Downloaded num-iter v0.1.37
[INFO] [stderr]   Downloaded stdweb-derive v0.5.1
[INFO] [stderr]   Downloaded inflate v0.4.3
[INFO] [stderr]   Downloaded parking_lot v0.5.5
[INFO] [stderr]   Downloaded png v0.12.0
[INFO] [stderr]   Downloaded arrayvec v0.4.8
[INFO] [stderr]   Downloaded objc v0.2.5
[INFO] [stderr]   Downloaded winapi-util v0.1.1
[INFO] [stderr]   Downloaded quick-error v1.2.2
[INFO] [stderr]   Downloaded lzw v0.10.0
[INFO] [stderr]   Downloaded smithay-client-toolkit v0.2.6
[INFO] [stderr]   Downloaded stdweb-internal-runtime v0.1.2
[INFO] [stderr]   Downloaded time v0.1.40
[INFO] [stderr]   Downloaded humantime v1.2.0
[INFO] [stderr]   Downloaded stdweb-internal-macros v0.2.2
[INFO] [stderr]   Downloaded crossbeam v0.4.1
[INFO] [stderr]   Downloaded tuple_utils v0.2.0
[INFO] [stderr]   Downloaded hibitset v0.5.3
[INFO] [stderr]   Downloaded bit-set v0.5.0
[INFO] [stderr]   Downloaded num-integer v0.1.39
[INFO] [stderr]   Downloaded proc-macro2 v0.4.24
[INFO] [stderr]   Downloaded memchr v2.1.1
[INFO] [stderr]   Downloaded crossbeam-deque v0.5.2
[INFO] [stderr]   Downloaded shrev v1.0.1
[INFO] [stderr]   Downloaded xml-rs v0.8.0
[INFO] [stderr]   Downloaded gleam v0.6.8
[INFO] [stderr]   Downloaded wincolor v1.0.1
[INFO] [stderr]   Downloaded wayland-scanner v0.20.12
[INFO] [stderr]   Downloaded x11-dl v2.18.3
[INFO] [stderr]   Downloaded doryen-rs v0.1.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e8db802bf88328872038749f737ed4da4ab35b1e505c32df9af3531d3a706b46
[INFO] running `Command { std: "docker" "start" "-a" "e8db802bf88328872038749f737ed4da4ab35b1e505c32df9af3531d3a706b46", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e8db802bf88328872038749f737ed4da4ab35b1e505c32df9af3531d3a706b46", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e8db802bf88328872038749f737ed4da4ab35b1e505c32df9af3531d3a706b46", kill_on_drop: false }`
[INFO] [stdout] e8db802bf88328872038749f737ed4da4ab35b1e505c32df9af3531d3a706b46
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1b5d494576f24bdce624a7817be56353a9560e4fb4a44f7c51f27c661c476e1d
[INFO] running `Command { std: "docker" "start" "-a" "1b5d494576f24bdce624a7817be56353a9560e4fb4a44f7c51f27c661c476e1d", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.44
[INFO] [stderr]     Checking spin v0.4.10
[INFO] [stderr]     Checking rand_core v0.3.0
[INFO] [stderr]     Checking nodrop v0.1.13
[INFO] [stderr]    Compiling proc-macro2 v0.4.24
[INFO] [stderr]    Compiling rayon-core v1.4.1
[INFO] [stderr]    Compiling num-traits v0.2.6
[INFO] [stderr]     Checking crossbeam-utils v0.5.0
[INFO] [stderr]    Compiling memchr v2.1.1
[INFO] [stderr]     Checking either v1.5.0
[INFO] [stderr]    Compiling rayon v1.0.3
[INFO] [stderr]     Checking quick-error v1.2.2
[INFO] [stderr]     Checking smallvec v0.6.6
[INFO] [stderr]     Checking regex-syntax v0.6.3
[INFO] [stderr]    Compiling parking_lot_core v0.3.1
[INFO] [stderr]    Compiling rand_chacha v0.1.0
[INFO] [stderr]     Checking arrayvec v0.4.8
[INFO] [stderr]     Checking lazy_static v1.2.0
[INFO] [stderr]     Checking crossbeam-utils v0.6.1
[INFO] [stderr]     Checking byteorder v1.2.7
[INFO] [stderr]    Compiling cc v1.0.25
[INFO] [stderr]    Compiling autocfg v0.1.1
[INFO] [stderr]     Checking rand_core v0.2.2
[INFO] [stderr]    Compiling num-integer v0.1.39
[INFO] [stderr]     Checking thread_local v0.3.6
[INFO] [stderr]     Checking owning_ref v0.3.3
[INFO] [stderr]     Checking rand_pcg v0.1.1
[INFO] [stderr]     Checking fxhash v0.2.1
[INFO] [stderr]     Checking crossbeam-epoch v0.3.1
[INFO] [stderr]     Checking crossbeam-epoch v0.5.2
[INFO] [stderr]     Checking crossbeam-epoch v0.6.1
[INFO] [stderr]     Checking rand_isaac v0.1.1
[INFO] [stderr]     Checking rand_hc v0.1.0
[INFO] [stderr]     Checking rand_xorshift v0.1.0
[INFO] [stderr]     Checking humantime v1.2.0
[INFO] [stderr]     Checking mopa v0.2.2
[INFO] [stderr]     Checking atom v0.3.5
[INFO] [stderr]    Compiling rand v0.6.4
[INFO] [stderr]     Checking remove_dir_all v0.5.1
[INFO] [stderr]     Checking termcolor v1.0.4
[INFO] [stderr]     Checking bitflags v0.1.1
[INFO] [stderr]     Checking lazy_static v0.1.16
[INFO] [stderr]     Checking nonzero_signed v1.0.2
[INFO] [stderr]     Checking bit-vec v0.5.0
[INFO] [stderr]     Checking crossbeam-deque v0.2.0
[INFO] [stderr]     Checking crossbeam-deque v0.5.2
[INFO] [stderr]     Checking tuple_utils v0.2.0
[INFO] [stderr]     Checking itertools v0.8.0
[INFO] [stderr]     Checking bit-set v0.5.0
[INFO] [stderr]     Checking rand v0.5.5
[INFO] [stderr]     Checking num_cpus v1.8.0
[INFO] [stderr]     Checking rand v0.4.3
[INFO] [stderr]     Checking time v0.1.40
[INFO] [stderr]     Checking atty v0.2.11
[INFO] [stderr]     Checking rand_os v0.1.1
[INFO] [stderr]     Checking wait-timeout v0.1.5
[INFO] [stderr]    Compiling quote v0.6.10
[INFO] [stderr]    Compiling tcod-sys v5.0.0 (https://github.com/rjungemann/tcod-rs.git?branch=fix-sdl2-rendering-mojave#841a6994)
[INFO] [stderr]    Compiling syn v0.15.22
[INFO] [stderr]     Checking aho-corasick v0.6.9
[INFO] [stderr]     Checking chrono v0.4.6
[INFO] [stderr]     Checking parking_lot_core v0.2.14
[INFO] [stderr]     Checking regex v1.1.0
[INFO] [stderr]     Checking parking_lot v0.5.5
[INFO] [stderr]     Checking tempfile v3.0.4
[INFO] [stderr]     Checking rusty-fork v0.2.1
[INFO] [stderr]     Checking parking_lot v0.6.4
[INFO] [stderr]     Checking proptest v0.9.0
[INFO] [stderr]     Checking crossbeam-channel v0.2.6
[INFO] [stderr]     Checking crossbeam v0.4.1
[INFO] [stderr]     Checking shred v0.7.1
[INFO] [stderr]     Checking hibitset v0.5.3
[INFO] [stderr]     Checking env_logger v0.6.0
[INFO] [stderr]     Checking pretty_env_logger v0.3.0
[INFO] [stderr]    Compiling derivative v1.0.2
[INFO] [stderr]    Compiling shred-derive v0.5.1
[INFO] [stderr]    Compiling specs-derive v0.4.0
[INFO] [stderr]     Checking shrev v1.0.1
[INFO] [stderr]     Checking specs v0.14.3
[INFO] [stderr]     Checking tcod v0.12.1 (https://github.com/rjungemann/tcod-rs.git?branch=fix-sdl2-rendering-mojave#841a6994)
[INFO] [stderr]     Checking rogue_tutorial v0.5.3-alpha.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `specs::error::Error`
[INFO] [stdout]   --> src/systems/logic/mod.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use specs::error::Error;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Join` is imported redundantly
[INFO] [stdout]   --> src/systems/logic/damage.rs:16:13
[INFO] [stdout]    |
[INFO] [stdout] 1  | use specs::prelude::*;
[INFO] [stdout]    |     ----------------- the item `Join` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 16 |         use specs::Join;
[INFO] [stdout]    |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Join` is imported redundantly
[INFO] [stdout]   --> src/systems/logic/fov.rs:19:13
[INFO] [stdout]    |
[INFO] [stdout] 1  | use super::*;
[INFO] [stdout]    |     -------- the item `Join` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 19 |         use specs::Join;
[INFO] [stdout]    |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Join` is imported redundantly
[INFO] [stdout]   --> src/systems/logic/mod.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 3  | use specs::prelude::*;
[INFO] [stdout]    |     ----------------- the item `Join` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 27 |         use specs::Join;
[INFO] [stdout]    |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Join` is imported redundantly
[INFO] [stdout]   --> src/systems/logic/mod.rs:48:13
[INFO] [stdout]    |
[INFO] [stdout] 3  | use specs::prelude::*;
[INFO] [stdout]    |     ----------------- the item `Join` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 48 |         use specs::Join;
[INFO] [stdout]    |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Join` is imported redundantly
[INFO] [stdout]   --> src/systems/render/mod.rs:72:13
[INFO] [stdout]    |
[INFO] [stdout] 6  | use specs::prelude::*;
[INFO] [stdout]    |     ----------------- the item `Join` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 72 |         use specs::Join;
[INFO] [stdout]    |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `RunNow` is imported redundantly
[INFO] [stdout]   --> src/ui/mod.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 1  | use specs::prelude::*;
[INFO] [stdout]    |     ----------------- the item `RunNow` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 46 |         use specs::RunNow;
[INFO] [stdout]    |             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `RunNow` is imported redundantly
[INFO] [stdout]   --> src/ui/mod.rs:71:21
[INFO] [stdout]    |
[INFO] [stdout] 1  | use specs::prelude::*;
[INFO] [stdout]    |     ----------------- the item `RunNow` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 71 |                 use specs::RunNow;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Join` is imported redundantly
[INFO] [stdout]   --> src/ui/mod.rs:86:33
[INFO] [stdout]    |
[INFO] [stdout] 1  | use specs::prelude::*;
[INFO] [stdout]    |     ----------------- the item `Join` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 86 |                             use specs::Join;
[INFO] [stdout]    |                                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/common/validations.rs:34:15
[INFO] [stdout]    |
[INFO] [stdout] 34 |     func: Box<Fn(I) -> O>,
[INFO] [stdout]    |               ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 34 |     func: Box<dyn Fn(I) -> O>,
[INFO] [stdout]    |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/common/validations.rs:40:26
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn new(func: Box<Fn(I) -> O>) -> Self {
[INFO] [stdout]    |                          ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn new(func: Box<dyn Fn(I) -> O>) -> Self {
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `proptest_helper`
[INFO] [stdout]    --> src/data/structures/level_data/room.rs:107:75
[INFO] [stdout]     |
[INFO] [stdout] 107 |     use proptest::{prop_assert, prop_assert_eq, prop_assert_ne, proptest, proptest_helper};
[INFO] [stdout]     |                                                                           ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous glob re-exports
[INFO] [stdout]  --> src/data/structures/level_data/mod.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use self::corridor::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^ the name `test` in the type namespace is first re-exported here
[INFO] [stdout] 9 | pub use self::room::*;
[INFO] [stdout]   |         ------------- but the name `test` in the type namespace is also re-exported here
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(ambiguous_glob_reexports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: private item shadows public glob re-export
[INFO] [stdout]    --> src/data/structures/matrix.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | / mod test {
[INFO] [stdout] 157 | |     use std::fmt::Debug;
[INFO] [stdout] 158 | |
[INFO] [stdout] 159 | |     use itertools::*;
[INFO] [stdout] ...   |
[INFO] [stdout] 268 | |     }
[INFO] [stdout] 269 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout] note: the name `test` in the type namespace is supposed to be publicly re-exported here
[INFO] [stdout]    --> src/data/structures/matrix.rs:7:9
[INFO] [stdout]     |
[INFO] [stdout] 7   | pub use super::dim::*;
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] note: but the private item here shadows it
[INFO] [stdout]    --> src/data/structures/matrix.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | / mod test {
[INFO] [stdout] 157 | |     use std::fmt::Debug;
[INFO] [stdout] 158 | |
[INFO] [stdout] 159 | |     use itertools::*;
[INFO] [stdout] ...   |
[INFO] [stdout] 268 | |     }
[INFO] [stdout] 269 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     = note: `#[warn(hidden_glob_reexports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `proptest_helper`
[INFO] [stdout]    --> src/data/structures/matrix.rs:162:75
[INFO] [stdout]     |
[INFO] [stdout] 162 |         prop_assert, prop_assert_eq, prop_assume, prop_compose, proptest, proptest_helper,
[INFO] [stdout]     |                                                                           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `proptest_helper`
[INFO] [stdout]    --> src/data/structures/pos.rs:122:73
[INFO] [stdout]     |
[INFO] [stdout] 122 |     use proptest::{prop_assert, prop_assert_eq, prop_compose, proptest, proptest_helper};
[INFO] [stdout]     |                                                                         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `proptest_helper`
[INFO] [stdout]   --> src/levels/functions.rs:32:43
[INFO] [stdout]    |
[INFO] [stdout] 32 |     use proptest::{prop_assert, proptest, proptest_helper};
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `proptest_helper`
[INFO] [stdout]    --> src/levels/generators/mod.rs:128:43
[INFO] [stdout]     |
[INFO] [stdout] 128 |     use proptest::{prop_assert, proptest, proptest_helper};
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `specs::error::Error`
[INFO] [stdout]   --> src/systems/logic/mod.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use specs::error::Error;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Join` is imported redundantly
[INFO] [stdout]   --> src/systems/logic/damage.rs:16:13
[INFO] [stdout]    |
[INFO] [stdout] 1  | use specs::prelude::*;
[INFO] [stdout]    |     ----------------- the item `Join` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 16 |         use specs::Join;
[INFO] [stdout]    |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Join` is imported redundantly
[INFO] [stdout]   --> src/systems/logic/fov.rs:19:13
[INFO] [stdout]    |
[INFO] [stdout] 1  | use super::*;
[INFO] [stdout]    |     -------- the item `Join` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 19 |         use specs::Join;
[INFO] [stdout]    |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Join` is imported redundantly
[INFO] [stdout]   --> src/systems/logic/mod.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 3  | use specs::prelude::*;
[INFO] [stdout]    |     ----------------- the item `Join` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 27 |         use specs::Join;
[INFO] [stdout]    |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Join` is imported redundantly
[INFO] [stdout]   --> src/systems/logic/mod.rs:48:13
[INFO] [stdout]    |
[INFO] [stdout] 3  | use specs::prelude::*;
[INFO] [stdout]    |     ----------------- the item `Join` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 48 |         use specs::Join;
[INFO] [stdout]    |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Join` is imported redundantly
[INFO] [stdout]   --> src/systems/render/mod.rs:72:13
[INFO] [stdout]    |
[INFO] [stdout] 6  | use specs::prelude::*;
[INFO] [stdout]    |     ----------------- the item `Join` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 72 |         use specs::Join;
[INFO] [stdout]    |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `RunNow` is imported redundantly
[INFO] [stdout]   --> src/ui/mod.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 1  | use specs::prelude::*;
[INFO] [stdout]    |     ----------------- the item `RunNow` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 46 |         use specs::RunNow;
[INFO] [stdout]    |             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `RunNow` is imported redundantly
[INFO] [stdout]   --> src/ui/mod.rs:71:21
[INFO] [stdout]    |
[INFO] [stdout] 1  | use specs::prelude::*;
[INFO] [stdout]    |     ----------------- the item `RunNow` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 71 |                 use specs::RunNow;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Join` is imported redundantly
[INFO] [stdout]   --> src/ui/mod.rs:86:33
[INFO] [stdout]    |
[INFO] [stdout] 1  | use specs::prelude::*;
[INFO] [stdout]    |     ----------------- the item `Join` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 86 |                             use specs::Join;
[INFO] [stdout]    |                                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/common/validations.rs:34:15
[INFO] [stdout]    |
[INFO] [stdout] 34 |     func: Box<Fn(I) -> O>,
[INFO] [stdout]    |               ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 34 |     func: Box<dyn Fn(I) -> O>,
[INFO] [stdout]    |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/common/validations.rs:40:26
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn new(func: Box<Fn(I) -> O>) -> Self {
[INFO] [stdout]    |                          ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn new(func: Box<dyn Fn(I) -> O>) -> Self {
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 11 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> benches/mock.rs:88:13
[INFO] [stdout]    |
[INFO] [stdout] 88 | struct Data(DimIndex);
[INFO] [stdout]    |        ---- ^^^^^^^^
[INFO] [stdout]    |        |
[INFO] [stdout]    |        field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 88 | struct Data(());
[INFO] [stdout]    |             ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `i` is never read
[INFO] [stdout]    --> src/common/validations.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 108 |     struct MockResource {
[INFO] [stdout]     |            ------------ field in this struct
[INFO] [stdout] 109 |         i: i32,
[INFO] [stdout]     |         ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MockResource` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 19 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 9.05s
[INFO] running `Command { std: "docker" "inspect" "1b5d494576f24bdce624a7817be56353a9560e4fb4a44f7c51f27c661c476e1d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1b5d494576f24bdce624a7817be56353a9560e4fb4a44f7c51f27c661c476e1d", kill_on_drop: false }`
[INFO] [stdout] 1b5d494576f24bdce624a7817be56353a9560e4fb4a44f7c51f27c661c476e1d
[INFO] checking ytaras/roguelike_tutorial against try#b4fc5dbf0bc33be331f9d893db5b3a794f29724a+rustflags=-Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds for pr-121251
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fytaras%2Froguelike_tutorial" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/ytaras/roguelike_tutorial on toolchain b4fc5dbf0bc33be331f9d893db5b3a794f29724a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/ytaras/roguelike_tutorial
[INFO] finished tweaking git repo https://github.com/ytaras/roguelike_tutorial
[INFO] tweaked toml for git repo https://github.com/ytaras/roguelike_tutorial written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/ytaras/roguelike_tutorial already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a5b3815e996d4c39045d8e7ef82b109599fd690cde111107e8709d335f504008
[INFO] running `Command { std: "docker" "start" "-a" "a5b3815e996d4c39045d8e7ef82b109599fd690cde111107e8709d335f504008", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a5b3815e996d4c39045d8e7ef82b109599fd690cde111107e8709d335f504008", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a5b3815e996d4c39045d8e7ef82b109599fd690cde111107e8709d335f504008", kill_on_drop: false }`
[INFO] [stdout] a5b3815e996d4c39045d8e7ef82b109599fd690cde111107e8709d335f504008
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 96cb61c6251ae2de8e50dc525429822fc9cfd4be535a0f228dc454976d29c2fd
[INFO] running `Command { std: "docker" "start" "-a" "96cb61c6251ae2de8e50dc525429822fc9cfd4be535a0f228dc454976d29c2fd", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.44
[INFO] [stderr]     Checking spin v0.4.10
[INFO] [stderr]     Checking rand_core v0.3.0
[INFO] [stderr]     Checking nodrop v0.1.13
[INFO] [stderr]    Compiling proc-macro2 v0.4.24
[INFO] [stderr]    Compiling rayon-core v1.4.1
[INFO] [stderr]    Compiling num-traits v0.2.6
[INFO] [stderr]     Checking crossbeam-utils v0.5.0
[INFO] [stderr]    Compiling memchr v2.1.1
[INFO] [stderr]    Compiling rayon v1.0.3
[INFO] [stderr]     Checking quick-error v1.2.2
[INFO] [stderr]     Checking smallvec v0.6.6
[INFO] [stderr]     Checking either v1.5.0
[INFO] [stderr]     Checking regex-syntax v0.6.3
[INFO] [stderr]    Compiling parking_lot_core v0.3.1
[INFO] [stderr]    Compiling rand_chacha v0.1.0
[INFO] [stderr]     Checking arrayvec v0.4.8
[INFO] [stderr]     Checking lazy_static v1.2.0
[INFO] [stderr]     Checking crossbeam-utils v0.6.1
[INFO] [stderr]    Compiling autocfg v0.1.1
[INFO] [stderr]    Compiling num-integer v0.1.39
[INFO] [stderr]     Checking byteorder v1.2.7
[INFO] [stderr]     Checking rand_core v0.2.2
[INFO] [stderr]    Compiling cc v1.0.25
[INFO] [stderr]     Checking thread_local v0.3.6
[INFO] [stderr]     Checking owning_ref v0.3.3
[INFO] [stderr]     Checking rand_pcg v0.1.1
[INFO] [stderr]     Checking rand_isaac v0.1.1
[INFO] [stderr]     Checking crossbeam-epoch v0.3.1
[INFO] [stderr]     Checking crossbeam-epoch v0.5.2
[INFO] [stderr]     Checking crossbeam-epoch v0.6.1
[INFO] [stderr]     Checking fxhash v0.2.1
[INFO] [stderr]     Checking rand_hc v0.1.0
[INFO] [stderr]     Checking rand_xorshift v0.1.0
[INFO] [stderr]    Compiling rand v0.6.4
[INFO] [stderr]     Checking humantime v1.2.0
[INFO] [stderr]     Checking remove_dir_all v0.5.1
[INFO] [stderr]     Checking atom v0.3.5
[INFO] [stderr]     Checking mopa v0.2.2
[INFO] [stderr]     Checking termcolor v1.0.4
[INFO] [stderr]     Checking nonzero_signed v1.0.2
[INFO] [stderr]     Checking bitflags v0.1.1
[INFO] [stderr]     Checking tuple_utils v0.2.0
[INFO] [stderr]     Checking bit-vec v0.5.0
[INFO] [stderr]     Checking lazy_static v0.1.16
[INFO] [stderr]     Checking itertools v0.8.0
[INFO] [stderr]     Checking crossbeam-deque v0.2.0
[INFO] [stderr]     Checking crossbeam-deque v0.5.2
[INFO] [stderr]     Checking bit-set v0.5.0
[INFO] [stderr]    Compiling quote v0.6.10
[INFO] [stderr]    Compiling tcod-sys v5.0.0 (https://github.com/rjungemann/tcod-rs.git?branch=fix-sdl2-rendering-mojave#841a6994)
[INFO] [stderr]     Checking rand v0.5.5
[INFO] [stderr]     Checking num_cpus v1.8.0
[INFO] [stderr]     Checking rand v0.4.3
[INFO] [stderr]     Checking rand_os v0.1.1
[INFO] [stderr]     Checking atty v0.2.11
[INFO] [stderr]     Checking time v0.1.40
[INFO] [stderr]     Checking wait-timeout v0.1.5
[INFO] [stderr]    Compiling syn v0.15.22
[INFO] [stderr]     Checking aho-corasick v0.6.9
[INFO] [stderr]     Checking chrono v0.4.6
[INFO] [stderr]     Checking parking_lot_core v0.2.14
[INFO] [stderr]     Checking parking_lot v0.5.5
[INFO] [stderr]     Checking regex v1.1.0
[INFO] [stderr]     Checking tempfile v3.0.4
[INFO] [stderr]     Checking rusty-fork v0.2.1
[INFO] [stderr]     Checking parking_lot v0.6.4
[INFO] [stderr]     Checking proptest v0.9.0
[INFO] [stderr]     Checking crossbeam-channel v0.2.6
[INFO] [stderr]     Checking crossbeam v0.4.1
[INFO] [stderr]     Checking hibitset v0.5.3
[INFO] [stderr]     Checking shred v0.7.1
[INFO] [stderr]     Checking env_logger v0.6.0
[INFO] [stderr]     Checking pretty_env_logger v0.3.0
[INFO] [stderr]    Compiling derivative v1.0.2
[INFO] [stderr]    Compiling shred-derive v0.5.1
[INFO] [stderr]    Compiling specs-derive v0.4.0
[INFO] [stderr]     Checking shrev v1.0.1
[INFO] [stderr]     Checking specs v0.14.3
[INFO] [stderr]     Checking tcod v0.12.1 (https://github.com/rjungemann/tcod-rs.git?branch=fix-sdl2-rendering-mojave#841a6994)
[INFO] [stderr]     Checking rogue_tutorial v0.5.3-alpha.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]   --> src/common/fov.rs:13:15
[INFO] [stdout]    |
[INFO] [stdout] 13 |     for p in (Pos::default()..=m.max_pos()).iter_pos() {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]   --> src/data/structures/level_data/corridor.rs:31:13
[INFO] [stdout]    |
[INFO] [stdout] 31 |             (min(p1, p2))..=(max(p1, p2))
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]   --> src/data/structures/level_data/room.rs:18:10
[INFO] [stdout]    |
[INFO] [stdout] 18 |         (self.from..=self.to).iter_pos()
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]   --> src/data/structures/level_data/room.rs:27:18
[INFO] [stdout]    |
[INFO] [stdout] 27 |         for x in (self.from.x - 1)..=(self.to.x + 1) {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]   --> src/data/structures/level_data/room.rs:38:18
[INFO] [stdout]    |
[INFO] [stdout] 38 |         for y in (self.from.y)..=(self.to.y) {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/data/structures/matrix.rs:75:18
[INFO] [stdout]    |
[INFO] [stdout] 75 |         for i in 0..max_index {
[INFO] [stdout]    |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/data/structures/matrix.rs:151:10
[INFO] [stdout]     |
[INFO] [stdout] 151 |         (from..to).iter_pos()
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]   --> src/data/structures/pos.rs:77:19
[INFO] [stdout]    |
[INFO] [stdout] 77 |         iproduct!(self.from.x..=self.to.x, self.from.y..=self.to.y).map(|(x, y)| Pos { x, y })
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]   --> src/data/structures/pos.rs:77:44
[INFO] [stdout]    |
[INFO] [stdout] 77 |         iproduct!(self.from.x..=self.to.x, self.from.y..=self.to.y).map(|(x, y)| Pos { x, y })
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/data/structures/pos.rs:81:19
[INFO] [stdout]    |
[INFO] [stdout] 81 |         iproduct!(self.from.x..self.to.x, self.from.y..self.to.y).map(|(x, y)| Pos { x, y })
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/data/structures/pos.rs:81:43
[INFO] [stdout]    |
[INFO] [stdout] 81 |         iproduct!(self.from.x..self.to.x, self.from.y..self.to.y).map(|(x, y)| Pos { x, y })
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]   --> src/data/structures/pos.rs:91:23
[INFO] [stdout]    |
[INFO] [stdout] 91 |             iproduct!(self.from.x..=self.to.x, self.from.y..=self.to.y).map(|(x, y)| Pos { x, y });
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]   --> src/data/structures/pos.rs:91:48
[INFO] [stdout]    |
[INFO] [stdout] 91 |             iproduct!(self.from.x..=self.to.x, self.from.y..=self.to.y).map(|(x, y)| Pos { x, y });
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/levels/generators/mod.rs:64:18
[INFO] [stdout]    |
[INFO] [stdout] 64 |         for _ in 0..param.max_rooms {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/levels/generators/mod.rs:74:18
[INFO] [stdout]    |
[INFO] [stdout] 74 |         for i in 1..rooms.len() {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/levels/generators/mod.rs:100:18
[INFO] [stdout]     |
[INFO] [stdout] 100 |         for _ in 0..monster_count {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/levels/mod.rs:42:19
[INFO] [stdout]    |
[INFO] [stdout] 42 |         monsters: 20..30,
[INFO] [stdout]    |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `specs::error::Error`
[INFO] [stdout]   --> src/systems/logic/mod.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use specs::error::Error;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Join` is imported redundantly
[INFO] [stdout]   --> src/systems/logic/damage.rs:16:13
[INFO] [stdout]    |
[INFO] [stdout] 1  | use specs::prelude::*;
[INFO] [stdout]    |     ----------------- the item `Join` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 16 |         use specs::Join;
[INFO] [stdout]    |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Join` is imported redundantly
[INFO] [stdout]   --> src/systems/logic/fov.rs:19:13
[INFO] [stdout]    |
[INFO] [stdout] 1  | use super::*;
[INFO] [stdout]    |     -------- the item `Join` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 19 |         use specs::Join;
[INFO] [stdout]    |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Join` is imported redundantly
[INFO] [stdout]   --> src/systems/logic/mod.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 3  | use specs::prelude::*;
[INFO] [stdout]    |     ----------------- the item `Join` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 27 |         use specs::Join;
[INFO] [stdout]    |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Join` is imported redundantly
[INFO] [stdout]   --> src/systems/logic/mod.rs:48:13
[INFO] [stdout]    |
[INFO] [stdout] 3  | use specs::prelude::*;
[INFO] [stdout]    |     ----------------- the item `Join` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 48 |         use specs::Join;
[INFO] [stdout]    |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Join` is imported redundantly
[INFO] [stdout]   --> src/systems/render/mod.rs:72:13
[INFO] [stdout]    |
[INFO] [stdout] 6  | use specs::prelude::*;
[INFO] [stdout]    |     ----------------- the item `Join` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 72 |         use specs::Join;
[INFO] [stdout]    |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `RunNow` is imported redundantly
[INFO] [stdout]   --> src/ui/mod.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 1  | use specs::prelude::*;
[INFO] [stdout]    |     ----------------- the item `RunNow` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 46 |         use specs::RunNow;
[INFO] [stdout]    |             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `RunNow` is imported redundantly
[INFO] [stdout]   --> src/ui/mod.rs:71:21
[INFO] [stdout]    |
[INFO] [stdout] 1  | use specs::prelude::*;
[INFO] [stdout]    |     ----------------- the item `RunNow` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 71 |                 use specs::RunNow;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Join` is imported redundantly
[INFO] [stdout]   --> src/ui/mod.rs:86:33
[INFO] [stdout]    |
[INFO] [stdout] 1  | use specs::prelude::*;
[INFO] [stdout]    |     ----------------- the item `Join` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 86 |                             use specs::Join;
[INFO] [stdout]    |                                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/common/validations.rs:34:15
[INFO] [stdout]    |
[INFO] [stdout] 34 |     func: Box<Fn(I) -> O>,
[INFO] [stdout]    |               ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 34 |     func: Box<dyn Fn(I) -> O>,
[INFO] [stdout]    |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/common/validations.rs:40:26
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn new(func: Box<Fn(I) -> O>) -> Self {
[INFO] [stdout]    |                          ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn new(func: Box<dyn Fn(I) -> O>) -> Self {
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]   --> src/common/fov.rs:13:15
[INFO] [stdout]    |
[INFO] [stdout] 13 |     for p in (Pos::default()..=m.max_pos()).iter_pos() {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]   --> src/data/structures/dim.rs:50:10
[INFO] [stdout]    |
[INFO] [stdout] 50 |         (0..=max_dim.width, 0..=max_dim.height)
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]   --> src/data/structures/dim.rs:50:29
[INFO] [stdout]    |
[INFO] [stdout] 50 |         (0..=max_dim.width, 0..=max_dim.height)
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]   --> src/data/structures/level_data/corridor.rs:31:13
[INFO] [stdout]    |
[INFO] [stdout] 31 |             (min(p1, p2))..=(max(p1, p2))
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]   --> src/data/structures/level_data/room.rs:18:10
[INFO] [stdout]    |
[INFO] [stdout] 18 |         (self.from..=self.to).iter_pos()
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]   --> src/data/structures/level_data/room.rs:27:18
[INFO] [stdout]    |
[INFO] [stdout] 27 |         for x in (self.from.x - 1)..=(self.to.x + 1) {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]   --> src/data/structures/level_data/room.rs:38:18
[INFO] [stdout]    |
[INFO] [stdout] 38 |         for y in (self.from.y)..=(self.to.y) {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `proptest_helper`
[INFO] [stdout]    --> src/data/structures/level_data/room.rs:107:75
[INFO] [stdout]     |
[INFO] [stdout] 107 |     use proptest::{prop_assert, prop_assert_eq, prop_assert_ne, proptest, proptest_helper};
[INFO] [stdout]     |                                                                           ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/data/structures/level_data/room.rs:116:11
[INFO] [stdout]     |
[INFO] [stdout] 116 |         ((1..level_dim.width - 1), (1..level_dim.height - 1))
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/data/structures/level_data/room.rs:116:37
[INFO] [stdout]     |
[INFO] [stdout] 116 |         ((1..level_dim.width - 1), (1..level_dim.height - 1))
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/data/structures/level_data/room.rs:118:29
[INFO] [stdout]     |
[INFO] [stdout] 118 |                 let dims = (1..(level_dim.width - x), (1..(level_dim.height - y)));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/data/structures/level_data/room.rs:118:56
[INFO] [stdout]     |
[INFO] [stdout] 118 |                 let dims = (1..(level_dim.width - x), (1..(level_dim.height - y)));
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous glob re-exports
[INFO] [stdout]  --> src/data/structures/level_data/mod.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use self::corridor::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^ the name `test` in the type namespace is first re-exported here
[INFO] [stdout] 9 | pub use self::room::*;
[INFO] [stdout]   |         ------------- but the name `test` in the type namespace is also re-exported here
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(ambiguous_glob_reexports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/data/structures/matrix.rs:75:18
[INFO] [stdout]    |
[INFO] [stdout] 75 |         for i in 0..max_index {
[INFO] [stdout]    |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/data/structures/matrix.rs:151:10
[INFO] [stdout]     |
[INFO] [stdout] 151 |         (from..to).iter_pos()
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: private item shadows public glob re-export
[INFO] [stdout]    --> src/data/structures/matrix.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | / mod test {
[INFO] [stdout] 157 | |     use std::fmt::Debug;
[INFO] [stdout] 158 | |
[INFO] [stdout] 159 | |     use itertools::*;
[INFO] [stdout] ...   |
[INFO] [stdout] 268 | |     }
[INFO] [stdout] 269 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout] note: the name `test` in the type namespace is supposed to be publicly re-exported here
[INFO] [stdout]    --> src/data/structures/matrix.rs:7:9
[INFO] [stdout]     |
[INFO] [stdout] 7   | pub use super::dim::*;
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] note: but the private item here shadows it
[INFO] [stdout]    --> src/data/structures/matrix.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | / mod test {
[INFO] [stdout] 157 | |     use std::fmt::Debug;
[INFO] [stdout] 158 | |
[INFO] [stdout] 159 | |     use itertools::*;
[INFO] [stdout] ...   |
[INFO] [stdout] 268 | |     }
[INFO] [stdout] 269 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     = note: `#[warn(hidden_glob_reexports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `proptest_helper`
[INFO] [stdout]    --> src/data/structures/matrix.rs:162:75
[INFO] [stdout]     |
[INFO] [stdout] 162 |         prop_assert, prop_assert_eq, prop_assume, prop_compose, proptest, proptest_helper,
[INFO] [stdout]     |                                                                           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/data/structures/matrix.rs:179:10
[INFO] [stdout]     |
[INFO] [stdout] 179 |         (1..max_width, 1..max_height)
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/data/structures/matrix.rs:179:24
[INFO] [stdout]     |
[INFO] [stdout] 179 |         (1..max_width, 1..max_height)
[INFO] [stdout]     |                        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/data/structures/matrix.rs:185:55
[INFO] [stdout]     |
[INFO] [stdout] 185 |         fn pos(max_x: DimIndex, max_y: DimIndex)(x in 0..max_x, y in 0..max_y) -> Pos {
[INFO] [stdout]     |                                                       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/data/structures/matrix.rs:185:70
[INFO] [stdout]     |
[INFO] [stdout] 185 |         fn pos(max_x: DimIndex, max_y: DimIndex)(x in 0..max_x, y in 0..max_y) -> Pos {
[INFO] [stdout]     |                                                                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/data/structures/matrix.rs:234:27
[INFO] [stdout]     |
[INFO] [stdout] 234 |                 iproduct!(0..m.height, 0..m.width)
[INFO] [stdout]     |                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/data/structures/matrix.rs:234:40
[INFO] [stdout]     |
[INFO] [stdout] 234 |                 iproduct!(0..m.height, 0..m.width)
[INFO] [stdout]     |                                        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/data/structures/matrix.rs:248:44
[INFO] [stdout]     |
[INFO] [stdout] 248 |             let expected_pairs = iproduct!(0..m.width, 0..m.height) .map(|(x, y)| Pos {x , y});
[INFO] [stdout]     |                                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/data/structures/matrix.rs:248:56
[INFO] [stdout]     |
[INFO] [stdout] 248 |             let expected_pairs = iproduct!(0..m.width, 0..m.height) .map(|(x, y)| Pos {x , y});
[INFO] [stdout]     |                                                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]   --> src/data/structures/pos.rs:77:19
[INFO] [stdout]    |
[INFO] [stdout] 77 |         iproduct!(self.from.x..=self.to.x, self.from.y..=self.to.y).map(|(x, y)| Pos { x, y })
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]   --> src/data/structures/pos.rs:77:44
[INFO] [stdout]    |
[INFO] [stdout] 77 |         iproduct!(self.from.x..=self.to.x, self.from.y..=self.to.y).map(|(x, y)| Pos { x, y })
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/data/structures/pos.rs:81:19
[INFO] [stdout]    |
[INFO] [stdout] 81 |         iproduct!(self.from.x..self.to.x, self.from.y..self.to.y).map(|(x, y)| Pos { x, y })
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/data/structures/pos.rs:81:43
[INFO] [stdout]    |
[INFO] [stdout] 81 |         iproduct!(self.from.x..self.to.x, self.from.y..self.to.y).map(|(x, y)| Pos { x, y })
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]   --> src/data/structures/pos.rs:91:23
[INFO] [stdout]    |
[INFO] [stdout] 91 |             iproduct!(self.from.x..=self.to.x, self.from.y..=self.to.y).map(|(x, y)| Pos { x, y });
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]   --> src/data/structures/pos.rs:91:48
[INFO] [stdout]    |
[INFO] [stdout] 91 |             iproduct!(self.from.x..=self.to.x, self.from.y..=self.to.y).map(|(x, y)| Pos { x, y });
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `proptest_helper`
[INFO] [stdout]    --> src/data/structures/pos.rs:122:73
[INFO] [stdout]     |
[INFO] [stdout] 122 |     use proptest::{prop_assert, prop_assert_eq, prop_compose, proptest, proptest_helper};
[INFO] [stdout]     |                                                                         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/data/structures/pos.rs:147:10
[INFO] [stdout]     |
[INFO] [stdout] 147 |         (start.x..=end.x, start.y..=end.y)
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/data/structures/pos.rs:147:27
[INFO] [stdout]     |
[INFO] [stdout] 147 |         (start.x..=end.x, start.y..=end.y)
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/data/structures/pos.rs:162:10
[INFO] [stdout]     |
[INFO] [stdout] 162 |         (0..d.width, 0..d.height)
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/data/structures/pos.rs:162:22
[INFO] [stdout]     |
[INFO] [stdout] 162 |         (0..d.width, 0..d.height)
[INFO] [stdout]     |                      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/data/structures/pos.rs:176:25
[INFO] [stdout]     |
[INFO] [stdout] 176 |             let range = from..=to;
[INFO] [stdout]     |                         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/data/structures/pos.rs:184:25
[INFO] [stdout]     |
[INFO] [stdout] 184 |             let range = from..=to;
[INFO] [stdout]     |                         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/data/structures/pos.rs:189:27
[INFO] [stdout]     |
[INFO] [stdout] 189 |             let x_range = DimIndex::min(from.x, to.x)..=DimIndex::max(from.x, to.x);
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/data/structures/pos.rs:190:27
[INFO] [stdout]     |
[INFO] [stdout] 190 |             let y_range = DimIndex::min(from.y, to.y)..=DimIndex::max(from.y, to.y);
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/data/structures/pos.rs:206:25
[INFO] [stdout]     |
[INFO] [stdout] 206 |             let range = from..to;
[INFO] [stdout]     |                         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/data/structures/pos.rs:214:25
[INFO] [stdout]     |
[INFO] [stdout] 214 |             let range = from..to;
[INFO] [stdout]     |                         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/data/structures/pos.rs:219:44
[INFO] [stdout]     |
[INFO] [stdout] 219 |             let x_range: Range<DimIndex> = DimIndex::min(from.x, to.x)..DimIndex::max(from.x, to.x);
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/data/structures/pos.rs:220:44
[INFO] [stdout]     |
[INFO] [stdout] 220 |             let y_range: Range<DimIndex> = DimIndex::min(from.y, to.y)..DimIndex::max(from.y, to.y);
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `proptest_helper`
[INFO] [stdout]   --> src/levels/functions.rs:32:43
[INFO] [stdout]    |
[INFO] [stdout] 32 |     use proptest::{prop_assert, proptest, proptest_helper};
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/levels/functions.rs:36:10
[INFO] [stdout]    |
[INFO] [stdout] 36 |         (4..DimIndex::max_value(), 4..DimIndex::max_value())
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/levels/functions.rs:36:36
[INFO] [stdout]    |
[INFO] [stdout] 36 |         (4..DimIndex::max_value(), 4..DimIndex::max_value())
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/levels/functions.rs:46:10
[INFO] [stdout]    |
[INFO] [stdout] 46 |         (4..DimIndex::max_value(), 4..DimIndex::max_value())
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/levels/functions.rs:46:36
[INFO] [stdout]    |
[INFO] [stdout] 46 |         (4..DimIndex::max_value(), 4..DimIndex::max_value())
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]   --> src/levels/functions.rs:86:26
[INFO] [stdout]    |
[INFO] [stdout] 86 |                 for x in from_x..=to_x {
[INFO] [stdout]    |                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]   --> src/levels/functions.rs:99:26
[INFO] [stdout]    |
[INFO] [stdout] 99 |                 for y in from_y..=to_y {
[INFO] [stdout]    |                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/levels/generators/mod.rs:64:18
[INFO] [stdout]    |
[INFO] [stdout] 64 |         for _ in 0..param.max_rooms {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/levels/generators/mod.rs:74:18
[INFO] [stdout]    |
[INFO] [stdout] 74 |         for i in 1..rooms.len() {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/levels/generators/mod.rs:100:18
[INFO] [stdout]     |
[INFO] [stdout] 100 |         for _ in 0..monster_count {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `proptest_helper`
[INFO] [stdout]    --> src/levels/generators/mod.rs:128:43
[INFO] [stdout]     |
[INFO] [stdout] 128 |     use proptest::{prop_assert, proptest, proptest_helper};
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/levels/generators/mod.rs:155:38
[INFO] [stdout]     |
[INFO] [stdout] 155 |                 (Just(p1), Just(p2), 0..max_w, 0..max_w, 0..max_h, 0..max_h)
[INFO] [stdout]     |                                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/levels/generators/mod.rs:155:48
[INFO] [stdout]     |
[INFO] [stdout] 155 |                 (Just(p1), Just(p2), 0..max_w, 0..max_w, 0..max_h, 0..max_h)
[INFO] [stdout]     |                                                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/levels/generators/mod.rs:155:58
[INFO] [stdout]     |
[INFO] [stdout] 155 |                 (Just(p1), Just(p2), 0..max_w, 0..max_w, 0..max_h, 0..max_h)
[INFO] [stdout]     |                                                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/levels/generators/mod.rs:155:68
[INFO] [stdout]     |
[INFO] [stdout] 155 |                 (Just(p1), Just(p2), 0..max_w, 0..max_w, 0..max_h, 0..max_h)
[INFO] [stdout]     |                                                                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/levels/generators/mod.rs:177:31
[INFO] [stdout]     |
[INFO] [stdout] 177 |         (room_gen_strategy(), 1..30).prop_map(|(room_strategy, max_rooms)| LevelGenStrategy {
[INFO] [stdout]     |                               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/levels/generators/mod.rs:180:23
[INFO] [stdout]     |
[INFO] [stdout] 180 |             monsters: 20..30,
[INFO] [stdout]     |                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/levels/mod.rs:42:19
[INFO] [stdout]    |
[INFO] [stdout] 42 |         monsters: 20..30,
[INFO] [stdout]    |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `specs::error::Error`
[INFO] [stdout]   --> src/systems/logic/mod.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use specs::error::Error;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Join` is imported redundantly
[INFO] [stdout]   --> src/systems/logic/damage.rs:16:13
[INFO] [stdout]    |
[INFO] [stdout] 1  | use specs::prelude::*;
[INFO] [stdout]    |     ----------------- the item `Join` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 16 |         use specs::Join;
[INFO] [stdout]    |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Join` is imported redundantly
[INFO] [stdout]   --> src/systems/logic/fov.rs:19:13
[INFO] [stdout]    |
[INFO] [stdout] 1  | use super::*;
[INFO] [stdout]    |     -------- the item `Join` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 19 |         use specs::Join;
[INFO] [stdout]    |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Join` is imported redundantly
[INFO] [stdout]   --> src/systems/logic/mod.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 3  | use specs::prelude::*;
[INFO] [stdout]    |     ----------------- the item `Join` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 27 |         use specs::Join;
[INFO] [stdout]    |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Join` is imported redundantly
[INFO] [stdout]   --> src/systems/logic/mod.rs:48:13
[INFO] [stdout]    |
[INFO] [stdout] 3  | use specs::prelude::*;
[INFO] [stdout]    |     ----------------- the item `Join` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 48 |         use specs::Join;
[INFO] [stdout]    |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Join` is imported redundantly
[INFO] [stdout]   --> src/systems/render/mod.rs:72:13
[INFO] [stdout]    |
[INFO] [stdout] 6  | use specs::prelude::*;
[INFO] [stdout]    |     ----------------- the item `Join` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 72 |         use specs::Join;
[INFO] [stdout]    |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `RunNow` is imported redundantly
[INFO] [stdout]   --> src/ui/mod.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 1  | use specs::prelude::*;
[INFO] [stdout]    |     ----------------- the item `RunNow` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 46 |         use specs::RunNow;
[INFO] [stdout]    |             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `RunNow` is imported redundantly
[INFO] [stdout]   --> src/ui/mod.rs:71:21
[INFO] [stdout]    |
[INFO] [stdout] 1  | use specs::prelude::*;
[INFO] [stdout]    |     ----------------- the item `RunNow` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 71 |                 use specs::RunNow;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Join` is imported redundantly
[INFO] [stdout]   --> src/ui/mod.rs:86:33
[INFO] [stdout]    |
[INFO] [stdout] 1  | use specs::prelude::*;
[INFO] [stdout]    |     ----------------- the item `Join` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 86 |                             use specs::Join;
[INFO] [stdout]    |                                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/common/validations.rs:34:15
[INFO] [stdout]    |
[INFO] [stdout] 34 |     func: Box<Fn(I) -> O>,
[INFO] [stdout]    |               ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 34 |     func: Box<dyn Fn(I) -> O>,
[INFO] [stdout]    |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/common/validations.rs:40:26
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn new(func: Box<Fn(I) -> O>) -> Self {
[INFO] [stdout]    |                          ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn new(func: Box<dyn Fn(I) -> O>) -> Self {
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: public trait impl involving `Range` type
[INFO] [stdout]    --> src/data/structures/pos.rs:102:24
[INFO] [stdout]     |
[INFO] [stdout] 102 | impl PosCollection for Range<Pos> {
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-D trait-impl-range`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: public trait impl involving `RangeInclusive` type
[INFO] [stdout]    --> src/data/structures/pos.rs:110:24
[INFO] [stdout]     |
[INFO] [stdout] 110 | impl PosCollection for RangeInclusive<Pos> {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public struct field
[INFO] [stdout]   --> src/levels/generators/mod.rs:45:19
[INFO] [stdout]    |
[INFO] [stdout] 45 |     pub monsters: Range<u8>,
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-D explicit-range`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors; 28 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rogue_tutorial` (lib) due to 4 previous errors; 28 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: field `i` is never read
[INFO] [stdout]    --> src/common/validations.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 108 |     struct MockResource {
[INFO] [stdout]     |            ------------ field in this struct
[INFO] [stdout] 109 |         i: i32,
[INFO] [stdout]     |         ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MockResource` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 74 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "96cb61c6251ae2de8e50dc525429822fc9cfd4be535a0f228dc454976d29c2fd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "96cb61c6251ae2de8e50dc525429822fc9cfd4be535a0f228dc454976d29c2fd", kill_on_drop: false }`
[INFO] [stdout] 96cb61c6251ae2de8e50dc525429822fc9cfd4be535a0f228dc454976d29c2fd
